package com.gridmobi.xrtb.model.openrtb24;

import com.gridmobi.xrtb.model.Message;

public class Device {
	private String ua;
	private Geo geo;
	private int dnt;
	private int lmt;
	private String ip;
	private String ipv6;
	private int devicetype;
	private String make;
	private String model;
	private String os;
	private String osv;
	private String hwv;
	private int h;
	private int w;
	private int ppi;
	private float pxratio;
	private int js;
	private String flashver;
	private String language;
	private String carrier;
	private int connectiontype;
	private String ifa;
	private String didsha1;
	private String didmd5;
	private String dpidsha1;
	private String dpidmd5;
	private String macsha1;
	private String macmd5;
	private Object ext;
	/**
	 * @return the ua
	 */
	public String getUa() {
		return ua;
	}
	/**
	 * @param ua the ua to set
	 */
	public void setUa(String ua) {
		this.ua = ua;
	}
	/**
	 * @return the geo
	 */
	public Geo getGeo() {
		return geo;
	}
	/**
	 * @param geo the geo to set
	 */
	public void setGeo(Geo geo) {
		this.geo = geo;
	}
	/**
	 * @return the dnt
	 */
	public int getDnt() {
		return dnt;
	}
	/**
	 * @param dnt the dnt to set
	 */
	public void setDnt(int dnt) {
		this.dnt = dnt;
	}
	/**
	 * @return the lmt
	 */
	public int getLmt() {
		return lmt;
	}
	/**
	 * @param lmt the lmt to set
	 */
	public void setLmt(int lmt) {
		this.lmt = lmt;
	}
	/**
	 * @return the ip
	 */
	public String getIp() {
		return ip;
	}
	/**
	 * @param ip the ip to set
	 */
	public void setIp(String ip) {
		this.ip = ip;
	}
	/**
	 * @return the ipv6
	 */
	public String getIpv6() {
		return ipv6;
	}
	/**
	 * @param ipv6 the ipv6 to set
	 */
	public void setIpv6(String ipv6) {
		this.ipv6 = ipv6;
	}
	/**
	 * @return the devicetype
	 */
	public int getDevicetype() {
		return devicetype;
	}
	/**
	 * @param devicetype the devicetype to set
	 */
	public void setDevicetype(int devicetype) {
		this.devicetype = devicetype;
	}
	/**
	 * @return the make
	 */
	public String getMake() {
		return make;
	}
	/**
	 * @param make the make to set
	 */
	public void setMake(String make) {
		this.make = make;
	}
	/**
	 * @return the model
	 */
	public String getModel() {
		return model;
	}
	/**
	 * @param model the model to set
	 */
	public void setModel(String model) {
		this.model = model;
	}
	/**
	 * @return the os
	 */
	public String getOs() {
		return os;
	}
	/**
	 * @param os the os to set
	 */
	public void setOs(String os) {
		this.os = os;
	}
	/**
	 * @return the osv
	 */
	public String getOsv() {
		return osv;
	}
	/**
	 * @param osv the osv to set
	 */
	public void setOsv(String osv) {
		this.osv = osv;
	}
	/**
	 * @return the hwv
	 */
	public String getHwv() {
		return hwv;
	}
	/**
	 * @param hwv the hwv to set
	 */
	public void setHwv(String hwv) {
		this.hwv = hwv;
	}
	/**
	 * @return the h
	 */
	public int getH() {
		return h;
	}
	/**
	 * @param h the h to set
	 */
	public void setH(int h) {
		this.h = h;
	}
	/**
	 * @return the w
	 */
	public int getW() {
		return w;
	}
	/**
	 * @param w the w to set
	 */
	public void setW(int w) {
		this.w = w;
	}
	/**
	 * @return the ppi
	 */
	public int getPpi() {
		return ppi;
	}
	/**
	 * @param ppi the ppi to set
	 */
	public void setPpi(int ppi) {
		this.ppi = ppi;
	}
	/**
	 * @return the pxratio
	 */
	public float getPxratio() {
		return pxratio;
	}
	/**
	 * @param pxratio the pxratio to set
	 */
	public void setPxratio(float pxratio) {
		this.pxratio = pxratio;
	}
	/**
	 * @return the js
	 */
	public int getJs() {
		return js;
	}
	/**
	 * @param js the js to set
	 */
	public void setJs(int js) {
		this.js = js;
	}
	/**
	 * @return the flashver
	 */
	public String getFlashver() {
		return flashver;
	}
	/**
	 * @param flashver the flashver to set
	 */
	public void setFlashver(String flashver) {
		this.flashver = flashver;
	}
	/**
	 * @return the language
	 */
	public String getLanguage() {
		return language;
	}
	/**
	 * @param language the language to set
	 */
	public void setLanguage(String language) {
		this.language = language;
	}
	/**
	 * @return the carrier
	 */
	public String getCarrier() {
		return carrier;
	}
	/**
	 * @param carrier the carrier to set
	 */
	public void setCarrier(String carrier) {
		this.carrier = carrier;
	}
	/**
	 * @return the connectiontype
	 */
	public int getConnectiontype() {
		return connectiontype;
	}
	/**
	 * @param connectiontype the connectiontype to set
	 */
	public void setConnectiontype(int connectiontype) {
		this.connectiontype = connectiontype;
	}
	/**
	 * @return the ifa
	 */
	public String getIfa() {
		return ifa;
	}
	/**
	 * @param ifa the ifa to set
	 */
	public void setIfa(String ifa) {
		this.ifa = ifa;
	}
	/**
	 * @return the didsha1
	 */
	public String getDidsha1() {
		return didsha1;
	}
	/**
	 * @param didsha1 the didsha1 to set
	 */
	public void setDidsha1(String didsha1) {
		this.didsha1 = didsha1;
	}
	/**
	 * @return the didmd5
	 */
	public String getDidmd5() {
		return didmd5;
	}
	/**
	 * @param didmd5 the didmd5 to set
	 */
	public void setDidmd5(String didmd5) {
		this.didmd5 = didmd5;
	}
	/**
	 * @return the dpidsha1
	 */
	public String getDpidsha1() {
		return dpidsha1;
	}
	/**
	 * @param dpidsha1 the dpidsha1 to set
	 */
	public void setDpidsha1(String dpidsha1) {
		this.dpidsha1 = dpidsha1;
	}
	/**
	 * @return the dpidmd5
	 */
	public String getDpidmd5() {
		return dpidmd5;
	}
	/**
	 * @param dpidmd5 the dpidmd5 to set
	 */
	public void setDpidmd5(String dpidmd5) {
		this.dpidmd5 = dpidmd5;
	}
	/**
	 * @return the macsha1
	 */
	public String getMacsha1() {
		return macsha1;
	}
	/**
	 * @param macsha1 the macsha1 to set
	 */
	public void setMacsha1(String macsha1) {
		this.macsha1 = macsha1;
	}
	/**
	 * @return the macmd5
	 */
	public String getMacmd5() {
		return macmd5;
	}
	/**
	 * @param macmd5 the macmd5 to set
	 */
	public void setMacmd5(String macmd5) {
		this.macmd5 = macmd5;
	}
	/**
	 * @return the ext
	 */
	public Object getExt() {
		return ext;
	}
	/**
	 * @param ext the ext to set
	 */
	public void setExt(Object ext) {
		this.ext = ext;
	}

	@Override
	public String toString(){
		StringBuffer sb = new StringBuffer();
		sb.append(this.getIfa()).append(Message.logDelimiter);
		sb.append(this.getMacmd5()).append(Message.logDelimiter);
		sb.append(this.getIp()).append(Message.logDelimiter);
		sb.append(this.getUa()).append(Message.logDelimiter);
		sb.append(this.getMake()).append(Message.logDelimiter);
		sb.append(this.getModel()).append(Message.logDelimiter);
		sb.append(this.getOs()).append(Message.logDelimiter);
		sb.append(this.getOsv()).append(Message.logDelimiter);
		sb.append(this.getCarrier()).append(Message.logDelimiter);
		sb.append(this.getDevicetype()).append(Message.logDelimiter);
		sb.append(this.getConnectiontype()).append(Message.logDelimiter);
		sb.append(this.getGeo().getCountry()).append(Message.logDelimiter);
		return sb.toString();
	}
}
